package uitest.zoufeng.com.uitest;

import android.content.res.Resources;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

/**
 * 资源文件练习
 */

public class ResourceTestActivity extends AppCompatActivity{
    /**
     * 参考地址：https://www.cnblogs.com/guop/p/4973829.html
     *
     * res目录下资源详解 :

     -- res/animator : 属性动画的XML文件目录, 属性动画就是定义起始结束, 动做, 重复时间等参数齐全的动画;

     -- res/anim : 补间动画的XML文件目录, 补间动画是只定义 起始 结束帧, 中间的动作由系统进行计算获取动作过程;

     -- res/color : 颜色列表的XML文件目录;

     -- res/drawable : 存放真实的位图文件, 也可以存放Drawable对象及子类对象的XML文件;

     -- res/layout : 界面布局文件目录;

     -- res/menu : 程序中使用的菜单文件目录, 该文件下的XML文件可以应用与 选项菜单, 子菜单, 上下文菜单等;

     -- res/raw : 存放原生资源, 与assets目录作用相同, 可以通过调用openRawResource(int)方法获取二进制输入流, 与asstes相似, 使用AssetsManager访问这些资源;

     -- res/value : 存放 字符串. 整数, 颜色, 数组 信息的 XML文件的目录, 这些XML文件资源的根元素是resource;

     -- res/xml : 原生的XML文件, 可以使用 Resource.getXML()方法进行访问;
     */


    /**
     res/value目录XML文件<resource>子标签解析 :

     -- string标签 : 代表一个字符串;

     -- integer标签 : 代表一个整数值标签;

     -- bool标签 : 代表一个boolean值;

     -- color标签 : 代表一个颜色值;

     -- array标签 : 代表数组;

     -- string-array标签 : 代表字符串数组;

     -- int-array标签 : 代表int数组;

     -- style标签 : 代表样式;

     -- dimen标签 : 代表一个尺寸;
     */

    /**
     分类资源文件 : 如果将所有的资源放到一个XML文件中, 会增加维护难度, 这里将不通类型的资源放到不同的XML文件下;

     -- arrays.xml : 存放数组资源;

     -- colors.xml : 存放颜色资源;

     -- dimens.xml : 存放尺寸值资源;

     -- strings.xml : 存放字符串资源;

     -- styles.xml : 存放样式资源;
     */


    /**
     * xml中取值格式：@ [packageName : ] 资源类型 / 资源名
     * eg： <item>@string/str1</item>
     *      <item>@android:string/str1</item>

     *
     *  资源类型所在的包, 如果被引用资源 与 本XML文件在同一个包下, 可以省略包名;
     *
     */

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_resource_test);

        Resources resources = getResources();

        String[] arrayStr = resources.getStringArray(R.array.array_list);
        resources.getColor(R.color.colorAccent);
        resources.getXml(R.xml.area);

        Log.i("","");

    }

}
